Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
03-10-2025

Inwerkingtreding:
03-10-2025

22.1 Wat is de omzetgroei?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 22.1 
2# Parameters: ?startperiode, ?eindperiode
3# Ontologie: versie 3.0.0 of nieuwer
4
5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
6PREFIX onz-g:   <http://purl.org/ozo/onz-g#>
7PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>
8
9SELECT ?Kental ?Waarde
10WHERE {
11  {
12    # Bereken verslagjaar en vergelijkingsjaar
13    SELECT ?p_verslagjaar ?p_vergelijkingsjaar
14    WHERE {
15      # ========= Verslagjaar =========
16      {
17        SELECT (SUM(?p_bedrag) AS ?p_verslagjaar)
18        WHERE {
19            # BIND("2024-01-01"^^xsd:date AS ?startperiode)
20            # BIND("2024-12-31"^^xsd:date AS ?eindperiode)
21          {
22            SELECT DISTINCT ?rubriek WHERE {
23              ?rubriek a onz-fin:Grootboekrubriek .
24              FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
25              FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$"))
26            }
27          }
28          BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
29
30          ?grootboek_post a onz-fin:Grootboekpost ;
31                          onz-g:partOf ?rubriek ;
32                          onz-g:hasDate ?datum ;
33                          onz-fin:heeftGeldBedrag ?geld_bedrag .
34
35          FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode)
36
37          BIND(
38            IF(
39              STRSTARTS(?rubriekCode, "81") ||
40              STRSTARTS(?rubriekCode, "82") ||
41              STRSTARTS(?rubriekCode, "83") ||
42              STRSTARTS(?rubriekCode, "89") ||
43              STRSTARTS(?rubriekCode, "919") ||
44              STRSTARTS(?rubriekCode, "920") ||
45              STRSTARTS(?rubriekCode, "930"),
46              ?geld_bedrag, 0
47            ) AS ?p_bedrag
48          )
49        }
50      }
51
52      # ========= Vergelijkingsjaar =========
53      {
54        SELECT (SUM(?p_bedrag) AS ?p_vergelijkingsjaar)
55        WHERE {
56                # BIND("2024-01-01"^^xsd:date AS ?startperiode)
57                # BIND("2024-12-31"^^xsd:date AS ?eindperiode)
58          {
59            SELECT DISTINCT ?rubriek WHERE {
60              ?rubriek a onz-fin:Grootboekrubriek .
61              FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
62              FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$"))
63            }
64          }
65          BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
66
67          ?grootboek_post a onz-fin:Grootboekpost ;
68                          onz-g:partOf ?rubriek ;
69                          onz-g:hasDate ?datum ;
70                          onz-fin:heeftGeldBedrag ?geld_bedrag .
71
72            # vergelijkingsperiode = meetperiode minus 1 jaar
73            BIND(xsd:date(CONCAT(STR(YEAR(?startperiode)-1), "-", 
74                                 SUBSTR(STR(?startperiode), 6, 2), "-", 
75                                 SUBSTR(STR(?startperiode), 9, 2))) AS ?startVergelijkingsperiode)
76
77            BIND(xsd:date(CONCAT(STR(YEAR(?eindperiode)-1), "-", 
78                                 SUBSTR(STR(?eindperiode), 6, 2), "-", 
79                                 SUBSTR(STR(?eindperiode), 9, 2))) AS ?eindVergelijkingsperiode)
80
81            FILTER (?datum >= ?startVergelijkingsperiode && ?datum <= ?eindVergelijkingsperiode)
82
83          BIND(
84            IF(
85              STRSTARTS(?rubriekCode, "81") ||
86              STRSTARTS(?rubriekCode, "82") ||
87              STRSTARTS(?rubriekCode, "83") ||
88              STRSTARTS(?rubriekCode, "89") ||
89              STRSTARTS(?rubriekCode, "919") ||
90              STRSTARTS(?rubriekCode, "920") ||
91              STRSTARTS(?rubriekCode, "930"),
92              ?geld_bedrag, 0
93            ) AS ?p_bedrag
94          )
95        }
96      }
97    }
98  }
99
100  # Nu bereken omzetgroei
101  BIND(
102    IF(?p_vergelijkingsjaar = 0,
103       "Ongedefinieerd"^^xsd:string,
104       xsd:decimal(?p_verslagjaar / ?p_vergelijkingsjaar)
105    ) AS ?omzetgroei
106  )
107
108  VALUES ?Kental { "Omzetgroei" "Omzetgroei%" }
109
110  BIND(
111    IF(?Kental = "Omzetgroei",
112       ?omzetgroei,
113       IF(DATATYPE(?omzetgroei) = xsd:string,
114          "Ongedefinieerd"^^xsd:string,
115          ?omzetgroei * 100
116       )
117    ) AS ?Waarde
118  )
119}
120ORDER BY ?Kental
121